//package com.hyzh.latte.demo.controller;
//
//import cn.hutool.core.util.ObjectUtil;
//import com.hyzh.latte.demo.consts.GateCommonEnums;
//import lombok.AllArgsConstructor;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.data.redis.core.ValueOperations;
//import org.springframework.web.bind.annotation.CrossOrigin;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * @Author: WangLong
// * @Description: 预约
// * @CreateTime: 2024-04-08 15:58
// */
//
//@CrossOrigin
//@RestController
//@RequestMapping("/access")
//@AllArgsConstructor
//public class AccessController {
//
//    private final RedisTemplate<String, Object> redisTemplate;
//
//    public static final String ACCESS_REDIS_KEY = "access:";
//
//    @CrossOrigin(origins = "*")
//    @GetMapping("/getData")
//    public List<Map<String, Integer>> getData() {
//        Map<String, Integer> inMap = new HashMap<>();
//        Map<String, Integer> outMap = new HashMap<>();
//        List<Map<String, Integer>> dataList = new ArrayList<>();
//
//        Integer inPersonnel = null;//入园人数
//        Integer inOrdinaryVehicle = null;//入园普通车辆
//        Integer inHazardousChemicalVehicles = null;//入园危化车辆
//
//
//        Integer outPersonnel = null;//出园人数
//        Integer outOrdinaryVehicle = null;//出园普通车辆
//        Integer outHazardousChemicalVehicles = null;//出园危化车辆
//
//        ValueOperations<String, Object> valueOperations = redisTemplate.opsForValue();
//        // 获取当前各类型入园数量
//        for (GateCommonEnums.InRecord value : GateCommonEnums.InRecord.values()) {
//            Object amount = valueOperations.get(ACCESS_REDIS_KEY + value);
//            if (ObjectUtil.isNull(amount)){
//                valueOperations.set(ACCESS_REDIS_KEY + value, 0);
//                if (value.getCode().equals(1)){//人员
//                    inPersonnel = 0;
//                }else if (value.getCode().equals(2)){//普通车辆
//                    inOrdinaryVehicle = 0;
//                }else {//危化车
//                    inHazardousChemicalVehicles = 0;
//                }
//            }else {
//                String amountStr = amount.toString();
//                if (value.getCode().equals(1)){//人员
//                    inPersonnel = Integer.valueOf(amountStr);
//                }else if (value.getCode().equals(2)){//普通车辆
//                    inOrdinaryVehicle = Integer.valueOf(amountStr);
//                }else {//危化车辆
//                    inHazardousChemicalVehicles = Integer.valueOf(amountStr);
//                }
//            }
//        }
//
//        // 获取当前各类型出园数量
//        for (GateCommonEnums.OutRecord value : GateCommonEnums.OutRecord.values()) {
//            Object amount = valueOperations.get(ACCESS_REDIS_KEY + value);
//            if (ObjectUtil.isNull(amount)){
//                valueOperations.set(ACCESS_REDIS_KEY + value, 0);
//                if (value.getCode().equals(1)){//人员
//                    outPersonnel = 0;
//                }else if (value.getCode().equals(2)){//普通车辆
//                    outOrdinaryVehicle = 0;
//                }else {//危化车
//                    outHazardousChemicalVehicles = 0;
//                }
//            }else {
//                String amountStr = amount.toString();
//                if (value.getCode().equals(1)){//人员
//                    outPersonnel = Integer.valueOf(amountStr);
//                }else if (value.getCode().equals(2)){//普通车辆
//                    outOrdinaryVehicle = Integer.valueOf(amountStr);
//                }else {//危化车辆
//                    outHazardousChemicalVehicles = Integer.valueOf(amountStr);
//                }
//            }
//        }
//        inMap.put("inPersonnel", inPersonnel);
//        inMap.put("inOrdinaryVehicle", inOrdinaryVehicle);
//        inMap.put("inHazardousChemicalVehicles", inHazardousChemicalVehicles);
//
//        outMap.put("outPersonnel", outPersonnel);
//        outMap.put("outOrdinaryVehicle", outOrdinaryVehicle);
//        outMap.put("outHazardousChemicalVehicles", outHazardousChemicalVehicles);
//        dataList.add(inMap);
//        dataList.add(outMap);
//        System.out.println("--------------------->" + inMap);
//        System.out.println("--------------------->" + outMap);
//        return dataList;
//    }
//}
